MCU = atmega328p
F_CPU = 16000000
CC = avr-gcc
CFLAGS= -O2 -Wall -std=gnu11 -mmcu=$(MCU)
CPPFLAGS=-DF_CPU=$(F_CPU)L
OBJCOPY=avr-objcopy

CMD_FLASH=avrdude
MCU1 = ATMEGA328P
DEVPORT = /dev/ttyACM0
BAUDRATE=115200

.PHONY: default
default : EXE_FILE HEX_FILE flash

EXE_FILE: $(FNAME).c
	$(CC) $(CFLAGS) $(CPPFLAGS) $< -o $(FNAME)
HEX_FILE: $(FNAME)
	$(OBJCOPY) -O ihex $< $(FNAME).hex
flash : $(FNAME).hex
	$(CMD_FLASH) -F -V -c arduino -p $(MCU1) -P $(DEVPORT) -b $(BAUDRATE) -U $@:w:$<
